
package cz.czu.pef.common;

import java.text.*;
import java.util.*;


public class Utils
{

	protected static ClassLoader getCurrentClassLoader(Object defaultObject)
	{

		ClassLoader loader = Thread.currentThread().getContextClassLoader();

		if (loader == null)
		{
			loader = defaultObject.getClass().getClassLoader();
		}

		return loader;
	}

	public static String getMessageResourceString(String bundleName, String key, Object params[], Locale locale)
	{

		String text = null;

		ResourceBundle bundle = ResourceBundle.getBundle(bundleName, locale, getCurrentClassLoader(params));

		try
		{
			text = bundle.getString(key);
		}
		catch (MissingResourceException e)
		{
			text = "?? key " + key + " not found ??";
		}

		if (params != null)
		{
			MessageFormat mf = new MessageFormat(text, locale);
			text = mf.format(params, new StringBuffer(), null).toString();
		}

		return text;
	}
}
